#include <iostream>

using namespace std;

int main()
{
    char a = 'A';
    int b = 123;
    cout << a; // 自动推导 -> operator<<(cout, a) ，调用改函数实现输出数据的功能
    // ostream &    operator<<    (ostream &__out, char __c)
    // 返回值类型    函数名称       参数列表

    // operator<< 😣 运算符重载
    cout << b << endl; // 自动推导 -> operator<<(int __n)
    float f = 3.14; // 自动推导 -> operator<<(float __f)
    cout << f << endl;

    // 自定义数据
    int arry[5] = {1, 2, 3, 4, 5};
    cout << arry << endl; // 无法直接输出数组的所有数据,输出数组名的地址

    // 自定义数据类型 结构体
    struct people
    {
        int age;
    };

    struct people xm = {18};
    //cout << xm << endl;  ❌错误没有这种类型的输出重载！ 
}